﻿#region Copyright (C) Sector7 Software Studio. All rights reserved
/*******************************************************************************************
 * Creation
 *      Author:         Wolf Lai
 *      Date:           2013/2/21 星期四 23:13:42
 *      Version:        
 * Modification 
 *      Author: 
 *      Date: 
 *      Description: 
 *      Version:
 *******************************************************************************************/
#endregion
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using Sector7.Framework.Windows;
using System.Reflection;

namespace Sector7.Framework.Core
{
    /// <summary>
    /// 系统框架环境变量
    /// </summary>                
    public static class Senvironments
    {
        #region Accessor
        /// <summary>
        /// 获取或设置项目主窗口
        /// </summary>
        public static MainWindowBase MainWindow { get; set; }

        /// <summary>
        /// 获取进度窗口
        /// </summary>
        public static ProgressWindow ProgressWindow
        {
            get { return m_progressWindow; }
        }

        /// <summary>
        /// 获取或设置当前用户
        /// </summary>
        public static object CurrentAccount { get; set; }

        /// <summary>
        /// 获取或设置产品配置信息
        /// </summary>
        public static ProductConfiguration ProductConfig { get; set; }

        /// <summary>
        /// 获取或设置模块配置信息
        /// </summary>
        public static List<ModuleConfiguration> ModuleConfigList { get; set; }

        /// <summary>
        /// 获取或设置导航配置信息
        /// </summary>
        public static List<NavigationConfiguration> NavigationConfigList { get; set; }

        /// <summary>
        /// 获取或设置系统分配的行政区划代码
        /// </summary>
        public static string SystemAdmDivisionId { get; set; }

        /// <summary>
        /// 获取系统基目录
        /// </summary>
        public static string BaseDirectory
        {
            get { return m_baseDirectory; }
        }
        #endregion

        #region Public functions
        #endregion

        #region Private functions
        #endregion

        #region Structure
        static Senvironments()
        {
            m_baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
            m_progressWindow = new ProgressWindow();            
        }
        #endregion

        #region Inner members
        private static ProgressWindow m_progressWindow = null;
        private static string m_baseDirectory = string.Empty;
        #endregion
    }
}
